package com.tigercel.xiangchengyun.utils;

import android.content.Context;
import android.widget.ImageView;

import com.bumptech.glide.Glide;

import java.io.File;

/**
 * Description : 图片加载工具类 使用glide框架封装
 */
public class ImageLoaderUtils {


    public static void display(Context context, ImageView imageView, String url, int placeholder, int error) {
        if (imageView == null) {
            throw new IllegalArgumentException("argument error");
        }
        Glide.with(context).load(url)
//                .placeholder(placeholder)
//                .error(error)
                .into(imageView);
    }

    public static void display(Context context, ImageView imageView, String url) {
        if (imageView == null) {
            throw new IllegalArgumentException("argument error");
        }

        Glide.with(context).load(url)
//                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                .centerCrop()
//                .placeholder(R.mipmap.ic_image_loading)
//                .error(R.mipmap.ic_image_loading)
//                .crossFade()
                .into(imageView);
    }

    public static void display(Context context, ImageView imageView, File url) {
        if (imageView == null) {
            throw new IllegalArgumentException("argument error");
        }
        Glide.with(context).load(url)
//                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                .centerCrop()
//                .placeholder(R.mipmap.ic_image_loading)
//                .error(R.mipmap.ic_image_loading)
//                .crossFade()
                .into(imageView);
    }

    public static void displaySmallPhoto(Context context, ImageView imageView, String url) {
        if (imageView == null) {
            throw new IllegalArgumentException("argument error");
        }
        Glide.with(context).load(url)
//                .asBitmap()
//                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                .placeholder(R.mipmap.ic_image_loading)
//                .error(R.mipmap.ic_image_loading)
                .thumbnail(0.5f)
                .into(imageView);
    }

    public static void displayBigPhoto(Context context, ImageView imageView, String url) {
        if (imageView == null) {
            throw new IllegalArgumentException("argument error");
        }
        Glide.with(context).load(url)
//                .asBitmap()
//                .format(DecodeFormat.PREFER_ARGB_8888)
//                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                .placeholder(R.mipmap.ic_image_loading)
//                .error(R.mipmap.ic_image_loading)
                .into(imageView);
    }

    public static void display(Context context, ImageView imageView, int url) {
        if (imageView == null) {
            throw new IllegalArgumentException("argument error");
        }
        Glide.with(context).load(url)
//                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                .centerCrop()
//                .placeholder(R.mipmap.ic_image_loading)
//                .error(R.mipmap.ic_image_loading)
//                .crossFade()
                .into(imageView);
    }
//    public static void displayRound(Context context,ImageView imageView, String url) {
//        if (imageView == null) {
//            throw new IllegalArgumentException("argument error");
//        }
//        Glide.with(context).load(url)
//                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                .error(R.mipmap.img_user_avatar)
//                .centerCrop().transform(new GlideRoundTransformUtil(context)).into(imageView);
//    }
//
//    public static void displayDontAnimate(Context context, ImageView imageView, String url) {
//        if (imageView == null) {
//            throw new IllegalArgumentException("argument error");
//        }
//        Glide.with(context).load(url)
//                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                .centerCrop()
//                .placeholder(R.mipmap.def_receiving_flow_ad)
//                .error(R.mipmap.ic_image_loading)
//                .dontAnimate()
//                .into(imageView);
//    }
//
//    public static void displayTransformCrop(Context context, ImageView imageView, String url, int placeholder, int error, int radius) {
//        if (imageView == null) {
//            throw new IllegalArgumentException("argument error");
//        }
//        Glide.with(context)
//                .load(url)
//                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                .placeholder(placeholder)
//                .error(error)
//                .crossFade()
//                .transform(new FitCenter(context), new GlideRoundTransform(context, radius))
//                .into(imageView);
//    }

    public static void displayRound(Context context, ImageView imageView, String url) {
        if (imageView == null) {
            throw new IllegalArgumentException("argument error");
        }
        Glide.with(context).load(url)
//                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                .error(R.mipmap.ic_image_loading)
//                .centerCrop()
//                .transform(new GlideRoundTransformUtil(context))
                .into(imageView);
    }

}
